home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / icons+tools / iconian / sources / emodules / mod / pool.e < prev    next >
Text File  |  1995-12-22  |  628b  |  39 lines

  1. OPT MODULE
  2.  
  3. MODULE    'exec/memory'
  4.  
  5. EXPORT PROC createpool(type=MEMF_ANY,puddlesize=4096,threshold=2048)
  6.     DEF poolhandle
  7.     poolhandle:=CreatePool(type,puddlesize,threshold)
  8. ENDPROC poolhandle
  9.  
  10. EXPORT PROC alloc(handle,size)
  11.     DEF mem
  12.     size:=size+4
  13.     mem:=AllocPooled(handle,size)
  14.     IF (mem)
  15.         MOVE.L    mem,A0
  16.         MOVE.L    size,(A0)
  17.         mem:=mem+4
  18.     ENDIF
  19. ENDPROC mem
  20.  
  21. EXPORT PROC free(handle,mem)
  22.     DEF size
  23.     IF (handle)
  24.         IF (mem)
  25.             mem:=mem-4
  26.             MOVE.L    mem,A0
  27.             MOVE.L    (A0),D0
  28.             MOVE.L    D0,size
  29.             FreePooled(handle,mem,size)
  30.         ENDIF
  31.     ENDIF
  32. ENDPROC
  33.  
  34. EXPORT PROC deletepool(poolhandle)
  35.     IF poolhandle
  36.         DeletePool(poolhandle)
  37.     ENDIF
  38. ENDPROC
  39.